package com.studynotes.dev.tech.annotation.query;

import com.studynotes.dev.tech.common.enums.QueryMethodEnum;
import org.springframework.core.annotation.AliasFor;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * @author Liu XiaoJun
 * @description: 查询字段注解
 * @date 2025-11-07 14:56:52
 */
@Target({ FIELD })
@Retention(RUNTIME)
public @interface QueryColumn {

    /**
     * 字段名称
     *
     * @return 字段名
     */
    @AliasFor("column")
    String value() default "";

    /**
     * 字段名称
     *
     * @return 字段名
     */
    @AliasFor("value")
    String column() default "";

    /**
     * 查询方法
     *
     * @return QueryMethod
     */
    QueryMethodEnum method() default QueryMethodEnum.EQ;

}
